package com.zb.factory.service;

import com.zb.result.PageUtil;
import com.zb.vo.CheckFactoryRechargeVo;
import com.zb.vo.FactoryDetailVo;
import com.zb.vo.FactoryListSelectVo;
import com.zb.vo.FactoryRechargeCheckListSearchVo;

import java.util.List;
import java.util.Map;

/**
 * @Author WEN
 * @Date 2024/2/28 0028
 **/
public interface ConFactoryService {
    /**
     * 获取商家详情之结算价
     * @param factoryId 品牌商家ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getFactoryOrderModuleSettlementList(Long factoryId, PageUtil pageUtil);

    /**
     * 获取商家详情之工单列表
     * @param factoryId 品牌商家ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getFactoryDetailOrderList(Long factoryId, PageUtil pageUtil);

    /**
     * 获取商家详情之工单费用列表
     * @param factoryId 品牌商家ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getFactoryDetailOrderFeeList(Long factoryId, PageUtil pageUtil);

    /**
     * 删除商家
     * @param factoryIds 品牌商家ID
     */
    void deleteBatchByIds(List<Long> factoryIds);

    /**
     * 根据品牌商家ID获取商家详情
     * @param id 品牌商家ID
     * @return
     */
    FactoryDetailVo getFactoryDetail(Long id);

    /**
     * 获取品牌商家列表
     * @param custAccId 商家ID
     * @param selectVo 搜索对象
     * @return
     */
    Map<String, Object> getList(Long custAccId, FactoryListSelectVo selectVo);

    /**
     * 获取商家充值审核表
     * @param custAccId 商家ID
     * @param search 搜索关键词
     * @return
     */
    Map<String, Object> getFactoryRechargeCheckList(Long custAccId, FactoryRechargeCheckListSearchVo search);

    /**
     * 审核商家充值
     * @param rechargeVo
     * @return
     */
    void checkFactoryRecharge(CheckFactoryRechargeVo rechargeVo);

}
